#小练习	统计出一篇英语短文（056.txt）中，出现次数最多的字母的前三名

import re;
#只统计字母
pattern=re.compile('[a-z|A-Z]');
#定义一个字典，用于接收统计
res={};
with open('056.txt','r') as f:
	#遍历这个字符串
	for char in f.read():
		#非字母的直接跳过
		if(not re.match(pattern,char)):
			continue;
		#统一转成大写	
		uChar=char.upper();
		#统计次数
		#get方法的功能是，如果key存在，则取出值，如果不存在，则取出给定的默认值（0）
		res[uChar]=res.get(uChar,0)+1;
		#如果不用get方法，就需要用下面这四行代码
		# if uChar in res:
		# 	res[uChar]+=1;
		# else:
		# 	res[uChar]=1;

#按value排序
resOrder=sorted(res.items(),key=lambda item:item[1],reverse=True);	
print('注意排序后，类型变成list了：',type(resOrder));
#切出前三名
print(resOrder[:3]);
